##----------------------------------------------------------##
##------------------R语言和Stata一体化操作------------------##
##----------------------------------------------------------##

#install.packages("RStata")                                            #如果没有安装，运行此命令

#说明文件："https://cran.r-project.org/web/packages/RStata/RStata.pdf"
#基本操作示例："https://www.rdocumentation.org/packages/RStata/versions/1.1.1"


##---------------初始设置-----------------##
library(RStata)                                                        #调用RStata包
options("RStata.StataPath"='E:\\ProgramFiles\\Stata15\\StataSE-64')    #设置stata路径
options("RStata.StataVersion"=14)                                      #设置stata版本
##----------------------------------------##

## 获取Stata数据集auto，存储于R语言中
auto <- stata("sysuse auto", data.out = TRUE)         


##运行stata的命令范式，调用R语言数据集mtcars
r1 <- stata("reg mpg cyl", data.in = mtcars)                 ## 默认：不直接输出表格
stata("reg mpg cyl", data.in = mtcars,data.out=T)            ## 直接输出结果，data.out=T
(r2 <-stata("reg mpg cyl", data.in = mtcars,data.out=T))     ## 直接输出结果，且将结果存储，data.out=T


##运行stata编译好的do文件
stata("foo.do")                                              ## External .do file


##在R中直接编译stata的do文件
stata_src <- "                                               ##do文件命名为stata_src
version 14
sysuse auto
reghdfe mpg weight ,absorb(trunk)
"
stata(stata_src)                                             ##运行stata_src
